home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / ctptri.z / ctptri
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCTTTTPPPPTTTTRRRRIIII((((3333FFFF))))                                                          CCCCTTTTPPPPTTTTRRRRIIII((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CTPTRI - compute the inverse of a complex upper or lower triangular
  10.      matrix A stored in packed format
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CTPTRI( UPLO, DIAG, N, AP, INFO )
  14.  
  15.          CHARACTER      DIAG, UPLO
  16.  
  17.          INTEGER        INFO, N
  18.  
  19.          COMPLEX        AP( * )
  20.  
  21. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  22.      CTPTRI computes the inverse of a complex upper or lower triangular matrix
  23.      A stored in packed format.
  24.  
  25.  
  26. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  27.      UPLO    (input) CHARACTER*1
  28.              = 'U':  A is upper triangular;
  29.              = 'L':  A is lower triangular.
  30.  
  31.      DIAG    (input) CHARACTER*1
  32.              = 'N':  A is non-unit triangular;
  33.              = 'U':  A is unit triangular.
  34.  
  35.      N       (input) INTEGER
  36.              The order of the matrix A.  N >= 0.
  37.  
  38.      AP      (input/output) COMPLEX array, dimension (N*(N+1)/2)
  39.              On entry, the upper or lower triangular matrix A, stored
  40.              columnwise in a linear array.  The j-th column of A is stored in
  41.              the array AP as follows:  if UPLO = 'U', AP(i + (j-1)*j/2) =
  42.              A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*((2*n-j)/2) =
  43.              A(i,j) for j<=i<=n.  See below for further details.  On exit, the
  44.              (triangular) inverse of the original matrix, in the same packed
  45.              storage format.
  46.  
  47.      INFO    (output) INTEGER
  48.              = 0:  successful exit
  49.              < 0:  if INFO = -i, the i-th argument had an illegal value
  50.              > 0:  if INFO = i, A(i,i) is exactly zero.  The triangular matrix
  51.              is singular and its inverse can not be computed.
  52.  
  53. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  54.      A triangular matrix A can be transferred to packed storage using one of
  55.      the following program segments:
  56.  
  57.      UPLO = 'U':                      UPLO = 'L':
  58.  
  59.            JC = 1                           JC = 1
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCTTTTPPPPTTTTRRRRIIII((((3333FFFF))))                                                          CCCCTTTTPPPPTTTTRRRRIIII((((3333FFFF))))
  71.  
  72.  
  73.  
  74.            DO 2 J = 1, N                    DO 2 J = 1, N
  75.               DO 1 I = 1, J                    DO 1 I = J, N
  76.                  AP(JC+I-1) = A(I,J)              AP(JC+I-J) = A(I,J)
  77.          1    CONTINUE                    1    CONTINUE
  78.               JC = JC + J                      JC = JC + N - J + 1
  79.          2 CONTINUE                       2 CONTINUE
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.